Trust Network
The trust network
object, referred to as trustInfo
, provides information regarding the trust level of the browser, network, and business. This data allows for a secure verification of user interactions by assessing the reliability of these elements, enhancing overall trust. It can be used within proof request and response screens and can also display visual indicators (e.g., icons with color coding) to reflect the trust level of each attribute.
Example Structure:
"trustInfo": {
"browser": "not-trust",
"businessIAL": 0,
"network": "ip-match"
}
Each key-value pair within trustInfo
represents a specific trust aspect and can be displayed as follows:
- browser: Indicates if the browser is trusted.
- businessIAL: Shows the trust level of the business, with IAL (Identity Assurance Level) rating.
- network: Displays if the network environment is trusted based on IP matching.
Keys in trustInfo
Object
1. browser
Description: This key identifies if the user’s browser can be trusted. It uses browser fingerprinting to verify and recognize previously trusted browsers.
Values:
"trust"
: The browser is trusted based on recognized fingerprint data."not-trust"
: The browser is untrusted; it’s either new or its fingerprint doesn’t match trusted criteria.
Visual Indicator Recommendation:
- Display an icon (e.g., shield) with green color for
"trust"
and red color for"not-trust"
.
2. businessIAL
Description:
The businessIAL
(Identity Assurance Level) represents the compliance level of the business entity associated with the transaction, measured by adherence to security standards.
Values:
1
: High trust level, indicating compliance with trust and security standards.0
: Low or unknown trust level, signaling non-compliance or insufficient information about adherence to security standards.
Visual Indicator Recommendation:
- Display a green shield icon for
1
and a red shield icon for0
to visually indicate trustworthiness.
3. network
Description: This key checks the user’s network environment to determine if it matches trusted criteria, such as IP matching within a pre-established trust network.
Values:
"ip-match"
: The IP address or network matches trusted network configurations, indicating a secure environment."no-match"
: The network does not match trusted criteria, suggesting potential security risks.
Visual Indicator Recommendation:
- Display a green network icon for
"ip-match"
and a red network icon for"no-match"
.
Summary Table of trustInfo
Values
Key | Value | Description | Visual Indicator |
---|---|---|---|
browser | "trust" | Browser is trusted based on fingerprinting. | Green icon (trusted browser) |
browser | "not-trust" | Browser is untrusted, not matching trusted fingerprints. | Red icon (untrusted browser) |
businessIAL | 1 | Business entity is compliant with trust/security standards. | Green shield (trusted) |
businessIAL | 0 | Business entity is non-compliant or unknown. | Red shield (untrusted) |
network | "ip-match" | Network environment matches trusted IP configurations. | Green network icon (trusted) |
network | "no-match" | Network environment does not meet trusted criteria. | Red network icon (untrusted) |
Displaying trustInfo
in React Native
Here’s an example of how to display trustInfo
data in React Native, using color-coded icons to represent each trust attribute.
import React from 'react';
import { View, Text, StyleSheet } from 'react-native';
import { FontAwesome } from '@expo/vector-icons'; // Assume FontAwesome icons for visual indicators
const TrustInfoDisplay = ({ trustInfo }) => {
const getTrustIcon = (key, value) => {
if (key === 'browser') {
return value === 'trust' ? 'green' : 'red';
} else if (key === 'businessIAL') {
return value === 1 ? 'green' : 'red';
} else if (key === 'network') {
return value === 'ip-match' ? 'green' : 'red';
};
return (
<View style={styles.container}>
<View style={styles.trustItem}>
<Text>Browser:</Text>
<FontAwesome name="shield" color={getTrustIcon('browser', trustInfo.browser)} size={20} />
<Text>{trustInfo.browser}</Text>
</View>
<View style={styles.trustItem}>
<Text>Business IAL:</Text>
<FontAwesome name="shield" color={getTrustIcon('businessIAL', trustInfo.businessIAL)} size={20} />
<Text>{trustInfo.businessIAL}</Text>
</View>
<View style={styles.trustItem}>
<Text>Network:</Text>
<FontAwesome name="network-wired" color={getTrustIcon('network', trustInfo.network)} size={20} />
<Text>{trustInfo.network}</Text>
</View>
</View>
);
};
const styles = StyleSheet.create({
container: {
padding: 10,
},
trustItem: {
flexDirection: 'row',
alignItems: 'center',
marginBottom: 5,
},
});
export default TrustInfoDisplay;
Usage:
Display this component in the proof request or response screen, passing the trustInfo
object from the presentationRequestCallback. Each icon will adjust color based on the trustInfo
values to visually indicate the trust level.
Reference:
For more information on trustInfo
from the presentationRequestCallback
, see Proof Request / Response Quickstart documentation. This callback provides detailed data, including the trustInfo
object, allowing applications to securely interpret and display trust indicators for user interactions.
Summary
The trustInfo
object encapsulates data about browser, network, and business trustworthiness, aiding secure verification of user interactions. Displaying icons with color coding based on trustInfo
values in the UI offers users an intuitive understanding of trust status. This document serves as a reference for using trustInfo
data effectively in applications.